平成23年 秋期 基本情報技術者 午後 問12
問12 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。 〔プログラム1の説明〕 除算を行う副プログラム DIV である。 (1) DIV は表1に示すレジスタを介して,被除数と除数を受け取り,商と剰余を返す。 数値は全て 32 ビットの符号なし整数とし,除数は0でないものとする。
表1 パラメタの受渡し方法
(2) 副プログラム DIV から戻るとき,汎用レジスタ GR6, GR7 の内容は元に戻す。 〔プログラム1〕 DIV START ; 減算を用いた 32 ビット除算 PUSH 0,GR6 PUSH 0,GR7 LD GR6,GR1 LD GR7,GR2 LD GR1,=#FFFF ; 商の初期化 LD GR2,=#FFFF LP LD GR4,GR6 LD GR5,GR7 ADDL GR2,=1 ; 商のカウントアップ JOV ADJ1 JUMP CONT ADJ1 CONT SUBL GR6,0,GR3 J0V FIN SUBL GR7,1,GR3 JUMP LP ADJ2 SUBL GR6,=1 J0V FIN JUMP LP FIN POP GR7 POP GR6 RET END 設問1 プログラム1中の に入れる正しい答えを,解答群の中から選べ。 a に関する解答群
エ ADDL GR2,=1 オ ADDL GR4,0,GR3 カ ADDL GR5,1,GR3 b に関する解答群
エ JOV CONT オ JPL ADJ2 カ JPL CONT
設問2 10 進表記で 0 〜 99999 の値の整数を 32 ビット符号なし整数として与えたとき, DIV を用いて 10 進数 文字列に変換する副プログラム BTOD を異なるアルゴリズムで2種類作成した。プログラム2は 10 進表記の 上位桁から求めるものであり,プログラム3は 10 進表記の下位桁から求めるものである。 プログラム2,プログラム3中の に入れる正しい答えを,解答群の中から選べ。 (1) BTOD は 32 ビット符号なし整数の上位語を GR1 に,下位語を GR2 に,変換結果を格納する領域の 先頭アドレスを GR3 に設定して呼び出される。 (2) 変換後の 10 進数文字列は5語の領域に格納される。ただし,5桁に満たない場合は上位桁に "0" が補われる。 対象数値が 16 進表記で 0000054D の場合の実行結果を,次に示す。
(3) 副プログラム BTOD から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム2〕 BTOD START RPUSH LD GR6,GR3 LAD GR7,4,GR3 LAD GR3,UDAT ; 除数の初期設定 LP CALL DIV OR ,='0' ST ,0,GR6 ; 10 進数字1文字格納 CPL GR6,GR7 JZE FIN LAD GR6,1,GR6 LD GR1,GR4 ; 被除数の再設定 LD GR2,GR5 JUMP LP FIN RPOP RET UDAT DC 0 DC 10000 DC 0 DC 1000 DC 0 DC 100 DC 0 DC 10 DC 0 DC 1 END 〔プログラム3〕 BTOD START RPUSH LAD GR6,4,GR3 LD GR7,GR3 LAD GR3,DAT LP CALL DIV OR ,='0' ST ,0,GR6 CPL GR6,GR7 JZE FIN LAD GR6,-1,GR6 JUMP LP FIN RPOP RET DAT DC 0 DC END c,e に関する解答群
d に関する解答群
エ LAD GR7,2,GR7 オ LD GR3,1,GR3 カ LD GR3,2,GR3 キ LD GR7,1,GR7 ク LD GR7,2,GR7 f に関する解答群
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||||||||||||